package cn.iocoder.yudao.module.product.controller.admin.stockoutin.vo;

import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@Schema(description = "管理后台 - 库存操作分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class StockOutInPageReqVO extends PageParam {

    @Schema(description = "出库id", example = "2342")
    private Long outOwnerId;

    @Schema(description = "出库类型", example = "1")
    private Integer outOwnerType;

    @Schema(description = "进库id", example = "735")
    private Long inOwnerId;

    @Schema(description = "进库类型", example = "1")
    private Integer inOwnerType;

    @Schema(description = "卸时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] outTime;

    @Schema(description = "装时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] inTime;

    @Schema(description = "0装车1卸车", example = "1")
    private Integer type;

    @Schema(description = "出库sku数量", example = "4729")
    private Integer outSkuCount;

    @Schema(description = "进库sku数量", example = "32129")
    private Integer inSkuCount;

    @Schema(description = "车辆id", example = "1146")
    private Long vehicleId;

    @Schema(description = "配送员或者司机id", example = "7274")
    private Long deliveryPersonId;

    @Schema(description = "押运员名称", example = "芋艿")
    private String supercargoName;

    @Schema(description = "出库方式")
    private Integer outWay;

    @Schema(description = "瓶数量", example = "1522")
    private Integer cylinderCount;

    @Schema(description = "瓶类型", example = "16335")
    private Integer cylinderTypeId;

    @Schema(description = "卸货工", example = "张三")
    private String outName;

    @Schema(description = "装货工", example = "王五")
    private String inName;

    @Schema(description = "创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] createTime;

    @Schema(description = "更新人")
    private String updater;

}